home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 36 / Amiga Format CD36 (1999-01-22)(Future Publishing)(GB)[!][issue 1999-02].iso / -seriously_amiga- / comms / other / henry / docs / tutorial < prev    next >
Text File  |  1998-12-07  |  9KB  |  208 lines

  1.                              Henry - Amiga IRC Bot
  2.  
  3.                         Short tutorial for beta versions
  4.  
  5.                                       By
  6.                                  Rune Jacobsen
  7.  
  8. Contents
  9.  
  10. 1. Introduction
  11. 2. Installation
  12. 3. Configuration
  13. 4. Running
  14.  
  15. ================================================================================
  16.                                   Introduction
  17. ================================================================================
  18.  
  19. Ok, so this is not really a tutorial. But it explains stuff, so read it anyway.
  20.  
  21. ================================================================================
  22.                                   Installation
  23. ================================================================================
  24.  
  25. There is a simple installation script provided with  the  beta  distribution  of
  26. Henry.  Double  click  on  the  "Install" icon to copy the unpacked directory to
  27. somewhere. The installer script will create a "Henry"-directory in the place you
  28. choose to install it in.
  29.  
  30. ================================================================================
  31.                                  Configuration
  32. ================================================================================
  33.  
  34. One important thing to notice is that any line in any config file starting  with
  35. a  '#' is treated as a comment and skipped by Henry. Keep that in mind, and edit
  36. them files with any ASCII editor. As this is a relatively early beta  of  Henry,
  37. be warned that the config reader isn't VERY robust and mangled config files will
  38. give unexpected results.
  39.  
  40. 1. Config/General
  41.  
  42. This file contains the general options for  the  Henry  bot.  Here  is  a  quick
  43. rundown  -  take  a  look  at  the  sample  General  file in Config/Examples/ to
  44. understand what the fields are referring to:
  45.  
  46.    Servers
  47.       This is a list of servers to try to connect to, in order, with an optional
  48.       port number afterwards. If no port number is set, Henry will use the
  49.       default IRC port 6667.
  50.    Nicks
  51.       This is the list of nicknames the bot will try, in order.
  52.    UserName
  53.       The user name Henry sends to the server. Should normally be the user name
  54.       you have with your ISP (the part before the '@' in your email address).
  55.    RealName
  56.       The text that will be shown to users when they do a /whois on the bot.
  57.    FindServer
  58.       The ADT server to connect to for searching Aminet. find.germany.aminet.org
  59.       is a nice default one, as is ftp.wustl.edu when it is up.
  60.    Channel
  61.       The IRC channel the bot should join.
  62.    Signoff
  63.       The quit message the bot signs off with.
  64.    CommandChar
  65.       If the first character in a public message is this character, the rest
  66.       of the line will be taken to be a command to the bot.
  67.    PublicLogLineLength
  68.       The max. length of a line in the log.
  69.    Debug
  70.       If set to On, will save lots of debug info in Logs/Debug.log.
  71.    ShowPublic
  72.       Will send all public messages to STDOUT.
  73.    PublicLog
  74.       Will log all public message to Logs/YYMMDD_#Channel.log
  75.    PublicLogon
  76.       Will show the logon procedure in the public log. No real effect yet.
  77.  
  78. 2. Config/Users
  79.  
  80. This file is Henry's user database. There is no other limit  to  the  amount  of
  81. users than the amount of memory availible. The fields in this file represent:
  82.  
  83.    Entry
  84.       The entry name. Should normally be the same as the persons nickname. This
  85.       is used if you do a SEEN (to see when the user was last on) or a ADDMSG (to
  86.       send a message to someone).
  87.    Access
  88.       This users access level on the bot. Is used to determine what commands the
  89.       user can execute and stuff. Can be from 0 to 255.
  90.    File
  91.       File access. Not yet used.
  92.    Seen
  93.       This is the last time the user was seen online by the bot. The number should
  94.       not really be edited manually.
  95.    News
  96.       The last time this user read news on the bot. This is used to determine
  97.       wether or not there are new ones for him/her to read.
  98.    Greet
  99.       The autogreet this user will recieve when joining the channel. If you don't
  100.       put anything here, the bot won't say a thing.
  101.    Mask
  102.       The host mask the user will be on. '*' is acceptable as a wildcard. For
  103.       instance, as my username at work is rune and I would log on from one of
  104.       Euroline's (my job) machines, a good host mask would be
  105.       *!*rune@*euroline.no - This would match any nickname I would use, wether
  106.       or not I am authenticated with identd, and would work on any computer
  107.       in the euroline.no network. You can have as many mask lines as you want,
  108.       useful for people with several accounts etc.
  109.  
  110. 3. Config/Levels
  111.  
  112. Really simple file, this. Just some default levels.
  113.  
  114.    AutoOp
  115.       The access level someone needs to be automatically given channel operator
  116.       status when they join. This will of course only happen if the bot is a
  117.       chanop himself.
  118.    DefaultLevel
  119.       The default level someone has when their host mask does not match anything
  120.       found in the user database.
  121.    DefaultFileLevel
  122.       Same as above, but for file access. No effect yet.
  123.    AutoRoulette
  124.       This has no effect yet, but those interested can guess what it is for.
  125.  
  126. 4. Config/Commands
  127.  
  128. This defines the commands your bot users will be able  to  perform.  This  means
  129. that  every  command in your bot is totally configurable, nothing is preset, and
  130. everything has a reasonably cool level of custimization.
  131.  
  132. The attributes a command can have:
  133.  
  134.    Command
  135.       This is the command name, what the users will have to type to execute the
  136.       command.
  137.    CommandString
  138.       This depends on the type of command. For internal commands, this is the
  139.       name of it. For ARexx scripts, this is the path/filename of the script. To
  140.       see what internal commands are availible, you have to check out the sample
  141.       Config/Examples/Commands file - it has them all in there somewhere.
  142.    InfoString
  143.       When someone requests help on a command (using the INFO internal command),
  144.       this is the description message they get.
  145.    SyntaxString
  146.       The syntax of the command, displayed by the INFO internal command.
  147.    Type
  148.       1 for internal command, 2 for ARexx command. Other command types are
  149.       currently not supported.
  150.    Access
  151.       The access level someone needs to execute this command. For instance,
  152.       the internal QUIT command should only be availible to people with
  153.       sufficient access to shut down the bot.
  154.    PublicAccess
  155.       Some Henry commands return results, and if this is the case, this is
  156.       used to determine if the result of the command should be public. If a
  157.       user has a HIGHER level than PublicAccess for this command, the result
  158.       will be displayed in public.
  159.    LogIllegal
  160.       TRUE or FALSE - should illegal attempts to execute this command be logged
  161.       in Logs/System.log ?
  162.    DataBaseName
  163.       Some commands are used for displaying, deleting or adding database items.
  164.       Since Henry supports unlimited number of databases, this field tells him
  165.       which of the databases this is related to. For instance, in the sample
  166.       Config/Examples/Commands file, both the "URL" and the "FAQ" commands
  167.       use the internal FINDDBITEM command, but they point to different
  168.       databases. The databases are defined in the Config/Databases file,
  169.       explained later in this section.
  170.  
  171. 5. Config/Messages
  172.  
  173. This file just keeps the messages for the different  users.  It  should  not  be
  174. edited  manually,  and  probably  not  read  by evil bot operators ;). Should be
  175. encrypted or something in the future.
  176.  
  177. 6. Config/Databases
  178.  
  179. Again, a very simple file,  with  a  very  simple  format.  On  each  line,  one
  180. database, a colon, a space, and the name of the database file. For instance:
  181. FAQ: FAQ.hdb
  182. Would mean a database called FAQ is located in FAQ.hdb. You  can  have  as  many
  183. databases as you want.
  184.  
  185. The format of the database files (*.hdb) is also simple. One item on  one  line,
  186. in this format:
  187. Name: Item text.
  188. The item text can be as long as you  want.  For  instance,  an  item  in  a  FAQ
  189. database could be like this:
  190. Henry: Amiga IRC Bot by Rune 'Shitlips' Jacobsen
  191. This item would then be displayed when someone gave the command "FAQ  Henry"  to
  192. the  bot,  provided that FAQ is the internal command FINDDBITEM, pointing to the
  193. FAQ database.
  194.  
  195. 7. Config/NewsDB
  196.  
  197. Another file you shouldn't mess with manually. It keeps all the  unexpired  news
  198. items.
  199.  
  200. ================================================================================
  201.                                     Running
  202. ================================================================================
  203.  
  204. Start Henry from a shell or the Workbench. After a little bit it  should  either
  205. pop  up  on  the  IRC  channel  you've configured, or complain that something is
  206. wrong.
  207.  
  208.